An Adaptive Dual-Population Collaborative Chicken Swarm Optimization Algorithm for High-Dimensional Optimization

With the development of science and technology, many optimization problems in real life have developed into high-dimensional optimization problems. The meta-heuristic optimization algorithm is regarded as an effective method to solve high-dimensional optimization problems. However, considering that traditional meta-heuristic optimization algorithms generally have problems such as low solution accuracy and slow convergence speed when solving high-dimensional optimization problems, an adaptive dual-population collaborative chicken swarm optimization (ADPCCSO) algorithm is proposed in this paper, which provides a new idea for solving high-dimensional optimization problems. First, in order to balance the algorithm’s search abilities in terms of breadth and depth, the value of parameter G is given by an adaptive dynamic adjustment method. Second, in this paper, a foraging-behavior-improvement strategy is utilized to improve the algorithm’s solution accuracy and depth-optimization ability. Third, the artificial fish swarm algorithm (AFSA) is introduced to construct a dual-population collaborative optimization strategy based on chicken swarms and artificial fish swarms, so as to improve the algorithm’s ability to jump out of local extrema. The simulation experiments on the 17 benchmark functions preliminarily show that the ADPCCSO algorithm is superior to some swarm-intelligence algorithms such as the artificial fish swarm algorithm (AFSA), the artificial bee colony (ABC) algorithm, and the particle swarm optimization (PSO) algorithm in terms of solution accuracy and convergence performance. In addition, the APDCCSO algorithm is also utilized in the parameter estimation problem of the Richards model to further verify its performance.


Introduction
High-dimensional optimization problems generally refer to ones with high complexity and dimensions (exceeding 100). It often has the characteristics of non-linearity and high complexity. In real life, many problems can be expressed as high-dimensional optimization problems, such as large-scale job-shop-scheduling problems [1], vehicle-routing problems [2], feature selection [3], satellite autonomous observation mission planning [4], economic environmental dispatch [5], and parameter estimation. These kinds of optimization problems often greatly degrade the performance of the optimization algorithm as the dimension of the optimization problem increases, so it is extremely difficult to obtain the global optimal solution, which poses a technical challenge to solving many practical problems. Therefore, the study of high-dimensional optimization problems has important theoretical and practical significance [6,7].
The meta-heuristic optimization algorithm is a class of random search algorithms proposed by simulating biological intelligence in nature [8], and has been successfully applied in various fields, such as the Internet of Things [9], network information systems [10,11], multi-robot space exploration [12], and so on. At present, hundreds of algorithms have strategy for foraging behaviors, and a dual-population collaborative optimization strategy. Specifically, the main technical features and originality of this paper are given below.
(1) The value of parameter G is given using an adaptive dynamic adjustment method, so as to balance the breadth and depth of the search abilities of the algorithm.
(2) To improve the solution accuracy and depth optimization ability of the CSO algorithm, an improvement strategy for foraging behaviors is proposed by introducing an improvement factor and adding a kind of chick's foraging behavior near the optimal value.
(3) A dual-population collaborative optimization strategy based on the chicken swarm and artificial fish swarm is constructed to enhance the global search ability of the whole algorithm.
The simulation experiments on the selected standard test functions and the parameter estimation problem of the Richards model show that the ADPCCSO algorithm is better than some other meta-heuristic optimization algorithms in terms of solution accuracy, convergence performance, etc.
The rest of this paper is arranged as follows. In Section 2, the principle and characteristics of the standard CSO algorithm are briefly introduced. Section 3 describes the ADPCCSO algorithm proposed in this paper in detail, the improvement strategies of the algorithm, and the main implementation steps are presented in this section. Simulation experiments and analysis are presented in Section 4 to verify the performance of the proposed ADPCCSO algorithm. Finally, we conclude the paper in Section 5.

The Basic CSO Algorithm
CSO algorithm is a class of random search algorithm based on the collective intelligent behavior of chicken swarms in the process of foraging. In this algorithm, several randomly generated positions in the search range are regarded as several chickens, and the fitness function values of chickens are regarded as food sources. In light of the fitness function values, the whole chicken swarm is divided into the roosters, hens, and chicks, where roosters have the best fitness values, hens take second place, and chicks have the worst fitness values. The algorithm relies on the roosters, hens, and chicks to constantly conduct information interaction and cooperation sharing and finally finds the best food source [30,31]. The characteristics are as follows: (1) The whole chicken swarm is divided into several subgroups, and each subgroup is composed of a rooster, at least one hen and several chicks. The hens and chicks look for food under the leadership of the roosters in their subgroups, and they will also obtain food from other subgroups.
(2) In the basic CSO algorithm, once the hierarchical relationship and dominance relationship between roosters, hens, and chicks are determined, they will remain unchanged for a certain period until the role update condition is met. In this way, they achieve information interaction and find the best food source.
(3) The whole algorithm realizes parallel optimization through the cooperation between roosters, hens, and chicks. The formulas corresponding to their foraging behaviors are as follows: The roosters' foraging behavior: where X i,j (t) stands for the position of the ith rooster at iteration t. Dim is the dimension of the problem to be solved. Randn 0, σ 2 is a random number matrix with a mean value of 0 and a variance of σ 2 . ε is a smallest positive normalized floating-point number in IEEE double precision. f k is the fitness function value of any rooster, and k = i. The hens' foraging behavior is described by X i,j (t + 1) = X i,j (t) + c 1 × rand() × X r 1 ,j (t) − X i,j (t) + c 2 × rand() × X r 2 ,j (t) − X i,j (t) (3) where X i,j (t) is the individual position of the ith hen, X r1,j (t) is the position of the groupmate rooster of the ith hen, X r2,j (t) is a randomly selected chicken, and r 2 = r 1 . The chicks' foraging behavior is described by where i is an index of the chick, and m is an index of the ith chick's mother. FL ∈ (0, 2) is a follow coefficient.

ADPCCSO Algorithm
To address the issue of precocious convergence of the basic CSO algorithm in solving high-dimensional optimization problems, an ADPCCSO algorithm is proposed. First, to balance the breadth and depth search abilities of the basic CSO algorithm, an s-shaped function is utilized to adaptively adjust the value of parameter G. Then, in order to improve the solution accuracy of the algorithm, inspired by the literature [32], an improvement factor is used to dynamically adjust the foraging behaviors of chickens. At the same time, when the role-update condition is met, the chicks are arranged to search for food near the global optimal value, which can enhance the depth optimization ability of the algorithm. Finally, in view of the fact that the AFSA has unique behavior-pattern characteristics, which can make the algorithm quickly jump out of the local optimal solution in solving the highdimensional optimization problems, it is integrated into the CSO algorithm to construct a dual-population collaborative optimization strategy based on chicken swarms and artificial fish swarms to enhance the global search ability, so as to achieve rapid optimization in the algorithm.

The Improvement Strategy for Parameter G
In the basic CSO algorithm, the parameter G determines how often the hierarchical relationship and role assignment of the chicken swarm are updated. The setting of an appropriate parameter G plays a crucial role in balancing the breadth and depth search abilities of the algorithm. Too large a value of G means that the information interaction between individuals is slow, which is not conducive to improving the breadth search ability of the algorithm. Too small a value of G will make the information interaction between individuals too frequent, which is not beneficial to enhancing the depth-optimization ability of the algorithm. Considering that the value of parameter G is a constant in the basic CSO algorithm, it is not conducive to balancing the search abilities between breadth and depth. We use Equation (7) to adaptively adjust the value of the parameter G; that is, in the early stage of the algorithm iteration, let G take a smaller value to enhance the breadth optimization ability of the algorithm; in the late stage of iteration of the algorithm, let G take a larger value to enhance the depth-optimization ability of the algorithm.
where t represents the current number of iterations and round () is a rounding function that can round an element to the nearest integer.

The Improvement Strategy for Foraging Behaviors
To improve the solution accuracy and depth-optimization ability of the algorithm, we construct an improvement strategy for foraging behaviors in this section; that is, an improvement factor is used in updating formulas of chickens. At the same time, in an effort to improve the depth optimization ability of CSO algorithm, the chicks' foraging behavior near the optimal value is also added.

Improvement Factor
To enhance the optimization ability of the algorithm, a learning factor was integrated into the foraging formula of roosters in Reference [32], which can be shown as follows: where M is the maximum number of iterations and ω max and ω min are the maximum and minimum values of the learning factor, whose values are 0.9 and 0.4, respectively.
The method in Reference [32] improved the optimization ability of the algorithm to a certain degree, but it only modified the position update formula of roosters, which is not conducive to further optimization of the algorithm. Therefore, we slightly modified the learning factor in Reference [32] and named it the improvement factor; that is, through trial and error, we set the maximum and minimum values of the improvement factor to be 0.7 and 0.1, respectively, and then used them in the foraging formulas of roosters, hens, and chicks. The experimental results have demonstrated that the solution accuracy and convergence performance are significantly improved. The modified foraging formulas for roosters, hens, and chicks are shown in Equations (10)- (12):

Chicks' Foraging Behavior near the Optimal Value
To enhance the depth optimization ability of the CSO algorithm, when the role update condition is met, chicks are allowed to search for food directly near the current optimal value. The corresponding formula is as follows: where X best,j (t) is the global optimal individual position at iteration t. lb and ub are the upper and lower bounds of an interval set near the current optimal value.

The Dual-Population Collaborative Optimization Strategy
To speed up the step of the algorithm jumping out of the local extrema, so as to quickly converge to the global optimal value, in view of the good robustness and global search ability of AFSA, the AFSA is introduced to construct a dual-population collaborative optimization strategy based on the chicken swarm and artificial fish swarm. With this strategy, the excellent individuals and several random individuals between the two populations are exchanged to break the equilibrium state within the population, so that the algorithm jumps out of the local extrema. The flow chart of the dual-population collaborative optimization strategy are shown in Figure 1.
quickly converge to the global optimal value, in view of the good robustness and global search ability of AFSA, the AFSA is introduced to construct a dual-population collaborative optimization strategy based on the chicken swarm and artificial fish swarm. With this strategy, the excellent individuals and several random individuals between the two populations are exchanged to break the equilibrium state within the population, so that the algorithm jumps out of the local extrema. The flow chart of the dual-population collaborative optimization strategy are shown in Figure 1. Exchange the best individuals of two populations The main steps are as follows: (1) Population initialization. Randomly generate two initial populations with a population size of N: the chicken swarm and the artificial fish swarm. Update the positions of the artificial fish swarm; that is, by simulating fish behaviors of preying, swarming, and following, compare the fitness function values to find out the best behavior and execute this behavior. Their corresponding formulas are as follows.
The preying behavior: The main steps are as follows: (1) Population initialization. Randomly generate two initial populations with a population size of N: the chicken swarm and the artificial fish swarm. Update the positions of the artificial fish swarm; that is, by simulating fish behaviors of preying, swarming, and following, compare the fitness function values to find out the best behavior and execute this behavior. Their corresponding formulas are as follows.
The preying behavior: where X i is the position of the ith artificial fish.
Step and Visual represent the step length and visual field of an artificial fish, respectively. The swarming behavior: where n f represents the number of partners within the visual field of the artificial fish. X c is the center position. The following behavior: where X max is the position of an artificial fish with the optimal food concentration that can be found within the current artificial fish's visual field.
(ii) Update the optimal value of the current artificial fish swarm.
(4) Interaction. To realize information interaction and thus break the equilibrium state within the population, first, select the optimal individuals in the chicken swarm and artificial fish swarm for exchange, and then select the remaining Num (Num < N) individuals randomly generated in the two populations for exchange. (5) Repeat steps (2)-(4) until the specified maximum number of iterations is reached and the optimal value is output.

The Design and Implementation of the ADPCCSO Algorithm
To address the premature convergence issue encountered by the basic CSO algorithm in solving high-dimensional optimization problems, the ADPCCSO algorithm is proposed. Firstly, the algorithm adjusts the parameter G adaptively and dynamically to balance the algorithm's breadth and depth search ability. Then, the solution accuracy and depthoptimization ability of the algorithm are enhanced by using the improvement strategy for foraging behaviors described in Section 3.2. Finally, the dual-population collaborative optimization strategy is introduced to accelerate the step of the algorithm jumping out of the local extrema. The specific process is as follows:  Modification of the optimal value in the chicken swarm: after each iteration, the optimal value of the whole chicken swarm is updated.
(5) Artificial fish swarm optimization. Calculate the fitness function values of the artificial fish swarm and record the optimal value of the current population.
(i) In the artificial fish swarm, behaviors of swarming, following, preying, and random movement are executed to find the optimal food. (ii) Update the optimal value of the whole artificial fish swarm. (6) Exchange. This includes the exchange of the optimal individuals and the exchange of several other individuals in the two populations.
(7) Judgment of ending condition for the algorithm. If the specified maximum number of iterations is reached, the optimal value will be output, and the program will be terminated. Otherwise, go to step (3).

The Time Complexity Analysis of the ADPCCSO Algorithm
In the standard CSO algorithm, if the population size of the chicken swarm is assumed to be N, then the dimension of the solution space is d, the iteration number of the entire algorithm is M, and the hierarchical relationship of the chicken swarm is updated every G iterations. The numbers of roosters, hens, and chickens in the chicken swarm e N r , N h , and N c , respectively; that is, N r + N h + N c = N. The calculation time of the fitness function value of each chicken is t f . Therefore, the time complexity of the CSO algorithm consists of two stages, namely, the initialization stage and the iteration stage [30,32].
In the initialization stage (including parameter initialization and population initialization), assume that the setting time of parameters is t 1 , the actual time required to generate a random number is t 2 , and the sorting time of the fitness function values is t 3 . Then, the time complexity of the initial stage is T 1 In the iteration stage, let the time for each rooster, hen, and chick to update its position on each dimension be t r , t h , and t c , respectively. The time it takes to compare the fitness function values between two individuals is t 4 , and the time it takes for the chickens to interact with information is t 5 . Therefore, the time complexity of this stage is as follows.
Therefore, the time complexity of the standard CSO algorithm is as follows.
On the basis of the standard CSO algorithm, the ADPCCSO algorithm adds the improvement factor in the position update formula of the chicken swarm, the foraging behavior of chicks near the optimal value, and the optimization strategy of the artificial fish swarm. It is assumed that the population size of the artificial fish swarm is N, and the tentative number when performing foraging behavior is try_number. In the swarming and following behaviors, it is necessary to count friend_number times when calculating the values of n f and X max . The time to calculate the improvement factor is t 6 , and the time it takes to perform the foraging, swarming, and following behaviors are t 7 , t 8, and t 9 , respectively. Therefore, the time complexity of adding the improvement factor in the position updating formula is T 3 = M × N × t 6 = O(M × N). The time complexity of the chicks' foraging behavior near the optimal value is T 4 . The time complexity of the artificial fish swarm optimization strategy is mainly composed of three parts: foraging behavior, swarming behavior, and following behavior. Its time complexity is as follows [33].
Therefore, the time complexity of the ADPCCSO algorithm is as follows.
It can be seen that the time complexity of the ADPCCSO and standard CSO algorithms is still in the same order of magnitude.

The Experimental Setup
In this study, our experiments were conducted on a desktop computer with an Intel ® Pentium ® CPU G4500 @ 3.5 GHz processor, 12 GB RAM, a Windows 7 operating system, and the programming environment of MATLABR2016a.
To verify the performance of he ADPCCSO algorithm in solving high-dimensional complex optimization problems, we selected 17 standard high-dimensional test functions in Reference [28] for experimental comparison, which are listed in Table 1. (Because the functions f 18~f 21 in Reference [28] are fixed low-dimensional functions, we only selected the functions f 1~f 17 for experimental comparison.) Here, the functions f 1~f 12 are unimodal functions. Because it is difficult to obtain the global optimal solution, they are often used to test the solution accuracy of the algorithms. The functions f 13~f 17 are multimodal functions, which are often used to verify the global optimization ability of the algorithms.

Type Functions Names Search Ranges
Unimodal Functions .536] Step [−100,100] Multimodal Functions Global minimum: 0 To fairly compare the performance of various algorithms, we need to make all algorithms have the same number of function evaluations (FEs). In our paper, FEs = the population size × the maximum number of iterations, and considering that the population size and the maximum number of iterations of GCSO [27] and DMCSO [29] are both 100 and 1000, in the experiment, we also set these two parameters for the remaining algorithms to 100 and 1000, respectively. The experimental data in this paper are obtained by independently running all algorithms on each function for 30 times. Other parameter settings are shown in Table 2.

Algorithms
Parameter Settings In Table 2, c 1 and c 2 are two learning factors and ω min and ω max are the upper and lower bounds of the inertial weight. hPercent and rPercent are the proportion of hens and roosters in the entire chickens, respectively. N c , N re , and N ed represent the numbers of chemotactic, reproduction, and elimination-dispersal operations, respectively. Visual, Step, and try_number represent the vision field, step length, and maximum tentative number of the artificial fish swarm, respectively. Limit is a control parameter for bees to abandon their food sources. P c and P m are crossovers and variation operators.
In Table 2, the parameters of AFSA are set after trial and error on the basis of the literature [31]. The parameter of ABC is set according to the study [34] where ABC has been proposed. The parameters of PSO, CSO, ASCSO-S [28], GCSO [27], and DMCSO [29] are set according to their corresponding references (namely the studies [27][28][29]), respectively.

The Effectiveness Test of Two Improvement Strategies
To verify the effectiveness of the two improved strategies proposed in Sections 3.1 and 3.3, we have compared the ACSO, DCCSO, and CSO algorithms on 17 test functions in terms of the solution accuracy and convergence performance. Here, the ACSO algorithm is an adaptive CSO algorithm, that is, we only use Equation (7) to make adaptive dynamic adjustment to the parameter G in the CSO algorithm. The DCCSO algorithm refers to the fact that only the dual-population collaborative optimization strategy mentioned in Section 3.3 is used in CSO algorithm.
The experimental results of the above three algorithms on 17 test functions are listed in Table 3, where the optimal results are marked in bold. In Table 3, "Dim" is the dimension of the problem to be solved, "Mean" is the mean value, and "Std" is the standard deviation. "↑", "↓", and "=", respectively, signify that the operation results obtained by the ACSO and DCCSO algorithms are superior to, inferior to, and equal to those obtained by the basic CSO algorithm.
It can be seen from Table 3 that the optimization results of the ACSO and DCCSO algorithms on almost all benchmark test functions are far superior to those of the CSO algorithm (on only function f 2 , the optimization results of DCCSO algorithm are slightly inferior to those of CSO algorithm); in particular, the experimental data on functions f 10 and f 11 reached the theoretical optimal values. This shows the effectiveness of the two improvement strategies proposed in Sections 3.1 and 3.3 in terms of solution accuracy.
To verify the effectiveness of ACSO and DCCSO algorithms compared with the CSO algorithm in terms of the aspect of convergence performance, the convergence curves of the above three algorithms on some functions are shown in Figure 2. For simplicity, we only list the convergence curves of the aforementioned algorithms on functions f 1 , f 9 , f 13 , and f 16 , where functions f 1 and f 9 are unimodal functions and functions f 13 and f 16 are multimodal functions. In addition, in order to make the convergence curves clearer, we take the logarithmic processing for the average fitness values.
To verify the effectiveness of ACSO and DCCSO algorithms compared with the CSO algorithm in terms of the aspect of convergence performance, the convergence curves of the above three algorithms on some functions are shown in Figure 2. For simplicity, we only list the convergence curves of the aforementioned algorithms on functions f1, f9, f13, and f16, where functions f1 and f9 are unimodal functions and functions f13 and f16 are multimodal functions. In addition, in order to make the convergence curves clearer, we take the logarithmic processing for the average fitness values. As can be seen from Figure 2, the convergence performance of both ACSO and DCCSO algorithms is significantly superior to that of the CSO algorithm, which proves the effectiveness of the two improvement strategies proposed in this paper in terms of convergence performance.

The Effectiveness Test of Improvement Strategy for Foraging Behaviors
To test the effectiveness of the improvement strategy proposed in Section 3.2, the learning-factor-based foraging behavior improvement strategy in the literature [32] is used for experimental comparison. At the same time, with the purpose of conducting experimental comparison more objectively and fairly, we let the ADPCCSO algorithm use the above-mentioned improvement strategies on 17 test functions to verify the performance of the improvement strategy in Section 3.3. The experimental results are listed in Table 4, where the ADPCCSO [32] indicates that the improvement strategy for foraging behavior in the literature [32] is used in the ADPCCSO. In addition, the number of optimal results calculated by each algorithm based on the mean value is also shown in Table 4.  As can be seen from Figure 2, the convergence performance of both ACSO and DCCSO algorithms is significantly superior to that of the CSO algorithm, which proves the effectiveness of the two improvement strategies proposed in this paper in terms of convergence performance.

The Effectiveness Test of Improvement Strategy for Foraging Behaviors
To test the effectiveness of the improvement strategy proposed in Section 3.2, the learning-factor-based foraging behavior improvement strategy in the literature [32] is used for experimental comparison. At the same time, with the purpose of conducting experimental comparison more objectively and fairly, we let the ADPCCSO algorithm use the above-mentioned improvement strategies on 17 test functions to verify the performance of the improvement strategy in Section 3.3. The experimental results are listed in Table 4, where the ADPCCSO [32] indicates that the improvement strategy for foraging behavior in the literature [32] is used in the ADPCCSO. In addition, the number of optimal results calculated by each algorithm based on the mean value is also shown in Table 4.
As can be seen from Table 4, the ADPCCSO [32] only obtained optimal values on 5 functions, while the ADPCCSO algorithm obtained optimal values on 16 functions and the theoretical optimal values were obtained on 13 functions. Only on function f 5 were the results of ADPCCSO algorithm slightly inferior to those of the ADPCCSO [32]. This shows the effectiveness of the improvement strategy proposed in Section 3.2 in terms of solution accuracy.
To test the effectiveness of the improvement strategy proposed in Section 3.3 in terms of convergence performance, the convergence curves of the above two algorithms are also listed in this section. For simplicity, only their convergence curves on functions f 9 and f 15 are given, which are shown in Figure 3. It is worth noting that in order to make the convergence curves look more intuitive and clearer, we also logarithm the average fitness values in this section. As can be seen from Table 4, the ADPCCSO [32] only obtained optimal values on 5 functions, while the ADPCCSO algorithm obtained optimal values on 16 functions and the theoretical optimal values were obtained on 13 functions. Only on function f5 were the results of ADPCCSO algorithm slightly inferior to those of the ADPCCSO [32]. This shows the effectiveness of the improvement strategy proposed in Section 3.2 in terms of solution accuracy.
To test the effectiveness of the improvement strategy proposed in Section 3.3 in terms of convergence performance, the convergence curves of the above two algorithms are also listed in this section. For simplicity, only their convergence curves on functions f9 and f15 are given, which are shown in Figure 3. It is worth noting that in order to make the convergence curves look more intuitive and clearer, we also logarithm the average fitness values in this section.
It is obvious from Figure 3 that the convergence performance of the ADPCCSO algorithm is better than that of ADPCCSO [32] as a whole. Especially on function f15, the ADPCCSO algorithm has more obvious advantages in convergence performance, and it began to converge stably around the 18th generation.

Performance Comparison of Several Swarm Intelligence Algorithms
To test the advantages of the ADPCCSO algorithm proposed in this paper over other algorithms in solving high-dimensional optimization problems, in this section, it is It is obvious from Figure 3 that the convergence performance of the ADPCCSO algorithm is better than that of ADPCCSO [32] as a whole. Especially on function f 15 , the ADPCCSO algorithm has more obvious advantages in convergence performance, and it began to converge stably around the 18th generation.

Performance Comparison of Several Swarm Intelligence Algorithms
To test the advantages of the ADPCCSO algorithm proposed in this paper over other algorithms in solving high-dimensional optimization problems, in this section, it is compared with five other algorithms, namely ASCSO-S [28], ABC, AFSA, CSO, and PSO. Their best values, worst values, mean values, and standard deviations obtained on the 17 benchmark standard test functions are shown in Tables 5-7, where the best values are shown in bold. In addition, we also count the number of optimal values obtained by each algorithm based on the mean value, which are shown in Tables 5-7.       It is not difficult to see from Tables 5-7 that the ADPCCSO and ASCSO-S algorithms are far superior to the other four swarm intelligence algorithms in terms of solution accuracy and stability. Among them, the ADPCCSO algorithm has the best performance: in particular, when Dim = 500, it obtained the optimal values in all 17 functions, and the number of optimal results calculated by the ASCSO-S algorithm is 14. Additionally, on function f 5 , the operation results of the ADPCCSO algorithm at Dim = 100 and Dim = 500 are far better than those at Dim = 30, which also shows to a certain extent that the ADPCCSO algorithm is more suitable for handling higher-dimensional complex optimization problems.
As can be seen from Table 5, although the ABC algorithm obtained the optimal values in three functions, its optimization ability worsens as the dimension of the problem increases. On the contrary, AFSA shows a higher optimization ability (when Dim = 500, its optimization ability on 11 functions is much better than that of the ABC algorithm), which is one of the reasons why we constructed a dual-population collaborative optimization strategy based on a chicken swarm and an artificial fish swarm to solve high-dimensional optimization problems. It is noteworthy that the operation results of the PSO algorithm on function f 8 are not given in Table 7. This is because when Dim = 500, its fitness function values often exceed the maximum positive value that the computer can represent, resulting in the algorithm being unable to obtain suitable operation results. This also shows that the PSO algorithm is not suitable for handling higher-dimensional complex optimization problems.
Below, we summarize why the solution accuracy of ADPCCSO and ASCSO-S algorithms is better than that of the other four algorithms. This may be due to the fact that both algorithms introduce an improvement factor (which is called an inertial weight) into the position update formula of the chicken swarm. The reason why the performance of the former in terms of solution accuracy is better than that of the latter may be because the former uses an improvement strategy for foraging behaviors, which not only improves the depth optimization ability of the algorithm but also improves its solution accuracy.
To verify the superiority of the ADPCCSO algorithm over other algorithms in terms of convergence performance, this paper presents the convergence curves of the above six algorithms on all 17 test functions with Dim = 100, which are shown in Figure 4. In Figure 4, the average fitness values of all ordinates are also logarithmic. In addition, in order to further present a clearer convergence effect, we have locally enlarged some convergence curves, which is why there are subgraphs in some convergence curves.
both algorithms introduce an improvement factor (which is called an inertial weight) into the position update formula of the chicken swarm. The reason why the performance of the former in terms of solution accuracy is better than that of the latter may be because the former uses an improvement strategy for foraging behaviors, which not only improves the depth optimization ability of the algorithm but also improves its solution accuracy.
To verify the superiority of the ADPCCSO algorithm over other algorithms in terms of convergence performance, this paper presents the convergence curves of the above six algorithms on all 17 test functions with Dim = 100, which are shown in Figure 4. In Figure  4, the average fitness values of all ordinates are also logarithmic. In addition, in order to further present a clearer convergence effect, we have locally enlarged some convergence curves, which is why there are subgraphs in some convergence curves.   As can be seen from Figure 4, the ADPCCSO algorithm has the best convergence performance on 16 functions, but on only function f4, its convergence is slightly inferior to that of the ABC algorithm. ASCSO-S ranks second in terms of convergence performance, and AFSA and CSO are tied for third place. (This is another reason why we construct a dual-population collaborative optimization strategy based on the chicken swarm and artificial fish swarm).
Below, we summarize why the convergence performance of the ADPCCSO and ASCSO-S algorithms is better than that of the other four algorithms as a whole. This may be because both algorithms use adaptive dynamic adjustment strategies. The convergence performance of the former is superior to that of the latter, which may be due to the use of the dual-population collaborative optimization strategy in the ADPCCSO algorithm, which improves the convergence performance of the algorithm. In addition, by carefully observing Figure 4, it is not difficult to find that on functions f1-f3, f6-f8, f10-f14, and f16-f17, it seems that the convergence curves of ADPCCSO and ASCSO-S algorithms in the late iteration stage are not fully presented. This is because both algorithms have found the theoretical optimal value of 0 in these functions, and 0 has no logarithm.

Friedman Test of Algorithms
The Friedman test, or Friedman's method for randomized blocks, is a non-parametric test method that does not require the sample to obey a normal distribution, and it only uses rank to judge whether there are significant differences in multiple population distributions. This method was proposed by Friedman in 1973. Because of its simple operation and no strict requirements for data, it is often used to test the performance of algorithms [28,35].
To further test the performance of the ADPCCSO algorithm proposed in this paper, in this section, the Friedman test is utilized to compare the performance of the above six algorithms from a statistical perspective. For the minimum optimization problem, the smaller the average ranking of the algorithm is, the better the performance of the algo- As can be seen from Figure 4, the ADPCCSO algorithm has the best convergence performance on 16 functions, but on only function f 4 , its convergence is slightly inferior to that of the ABC algorithm. ASCSO-S ranks second in terms of convergence performance, and AFSA and CSO are tied for third place. (This is another reason why we construct a dual-population collaborative optimization strategy based on the chicken swarm and artificial fish swarm).
Below, we summarize why the convergence performance of the ADPCCSO and ASCSO-S algorithms is better than that of the other four algorithms as a whole. This may be because both algorithms use adaptive dynamic adjustment strategies. The convergence performance of the former is superior to that of the latter, which may be due to the use of the dual-population collaborative optimization strategy in the ADPCCSO algorithm, which improves the convergence performance of the algorithm. In addition, by carefully observing Figure 4, it is not difficult to find that on functions f 1 -f 3 , f 6 -f 8 , f 10 -f 14, and f 16 -f 17 , it seems that the convergence curves of ADPCCSO and ASCSO-S algorithms in the late iteration stage are not fully presented. This is because both algorithms have found the theoretical optimal value of 0 in these functions, and 0 has no logarithm.

Friedman Test of Algorithms
The Friedman test, or Friedman's method for randomized blocks, is a non-parametric test method that does not require the sample to obey a normal distribution, and it only uses rank to judge whether there are significant differences in multiple population distributions. This method was proposed by Friedman in 1973. Because of its simple operation and no strict requirements for data, it is often used to test the performance of algorithms [28,35].
To further test the performance of the ADPCCSO algorithm proposed in this paper, in this section, the Friedman test is utilized to compare the performance of the above six algorithms from a statistical perspective. For the minimum optimization problem, the smaller the average ranking of the algorithm is, the better the performance of the algorithm is. In this section, the SPSS software is used to calculate the average ranking values of all algorithms. The statistical results are shown in Table 8. It is obvious from Table 8 that the ADPCCSO algorithm has the lowest average ranking of 1.5 and therefore has the best performance.

Performance Comparison of Several Improved CSO Algorithms
To further verify the performance of ADPCCSO algorithm proposed in this paper, two improved CSO algorithms mentioned in the literature [27,29], namely GCSO [27] and DMCSO [29], have also been used to compare with the ADPCCSO algorithm. The experimental results are shown in Table 9. The experimental data of both algorithms are from the corresponding references. It is worth noting that the population size of the above three algorithms is 100, and the maximum number of iterations is 1000, which also facilitates a more fair and reasonable experimental comparison. Other parameter settings are shown in Table 2.   In Table 9, GCSO [27] counts the operation results of 6 functions out of 17 test functions but only obtained the optimal values on the standard deviation of function f 4 and the best values of functions f 13 and f 14 . DMCSO [29] counted the operation results of 12 functions out of 17 test functions and only obtained the optimal values on function f 4 . However, the operation results of the ADPCCSO algorithm are better than those of the above two algorithms overall. On only function f 4 , the operation results of the ADPCCSO algorithm are worse than those of DMCSO [29]. This shows the advantages of the ADPCCSO algorithm.

Performance Test of ADPCCSO Algorithm for Solving Higher-Dimensional Problems
To further verify the performance of the ADPCCSO algorithm in solving higherdimensional optimization problems, the relevant experiments for the proposed algorithm on 17 benchmark test functions with Dim = 1000 are also presented in this section. The corresponding experimental results are shown in Table 10.

Functions
Mean std Best Worst As can be seen from Table 10, even when the dimension of the optimization problem is adjusted to 1000, the proposed algorithm can still achieve satisfactory optimization accuracy on most test functions; only on functions f 4 , f 5 , and f 9 do the experimental data fluctuate slightly. This indicates that when the dimension increases, the proposed algorithm will not be greatly affected, which fully demonstrates that the ADPCCSO algorithm still has a competitive advantage in dealing with higher-dimensional optimization problems.

Parameter Estimation Problem of Richards Model
To verify the performance of ADPCCSO algorithm in solving practical problems, it is applied to the parameter estimation problem of the Richards model in this section. The Richards model is a growth curve model with four unknown parameters, which can adequately simulate the whole process of biological growth. Its mathematical formula is as follows [28,36,37]: where y(t) stands for the growth amount at time t, and α, β, γ, δ are four unknown parameters.
The core problem of the ADPCCSO algorithm for parameter estimation of the Richards model is the design of the fitness function. In this paper, the fitness function design method mentioned in the sties [28,36] is adopted; that is, the sum of squares of the difference between the observed and predicted values is used as the fitness function. The mathematical formula is as follows: where y i is the actual growth amount observed at time i. In this section, the actual growth concentrations of glutamate listed in the studies [28,36] are used as the observation values, which are shown in Table 11. The optimal solutions obtained by different algorithms through 30 independent runs are listed in Table 12, where the experimental data of ASCSO-S [28] and VS-FOA [36] come from the corresponding references. The data in Table 13 are the growth concentration of glutamate calculated by using the data in Table 12 in Equation (21). In Table 13, "fit" represents the fitness function value. To evaluate the effect of VS-FOA [36], ASCSO-S [28], and ADPCCSO in the parameter estimation of Richards model, we select the root mean square error, mean absolute error, and coefficient of determination as evaluation indexes to evaluate the performance of the above three algorithms. The formulas are as follows: (1) The root mean square error: where y i is the actual value observed andŷ i is the predicted value at time i. n is the number of actual values observed. The root mean square error is used to measure the deviation between the predicted values and the observed values. The smaller its value is, the better the predicted value is.
(2) The mean absolute error: The mean absolute error is the mean value of the absolute error. It reflects the actual situation of the error of the predicted value better. The smaller its value is, the more precise the predicted value is.
(3) The coefficient of determination: where y is the mean value of the actual values observed. The coefficient of determination is generally used to evaluate the conformity between the predicted and actual values. The closer its value is to 1, the better the prediction effect. The comparison results of the above three algorithms in the three evaluation indexes are shown in Table 14, where the optimal values are marked in bold. As can be seen from Table 14, the ADPCCSO algorithm has optimal values in both indexes. Although the ADPCCSO algorithm is slightly inferior to the other two algorithms in terms of the mean absolute error, its fitness function value is indeed the best of the three algorithms, which can be seen from Table 13. This preliminarily shows that the ADPCCSO algorithm can solve the parameter estimation problem of the Richards model.

Conclusions
In view of the precocious convergence problem that the basic CSO algorithm is prone to when solving high-dimensional complex optimization problems, an ADPCCSO algorithm is proposed in this paper. The algorithm first uses an adaptive dynamic adjustment method to give the value of parameter G, so as to balance the algorithm's depth and breadth search ability. Additionally, then, the solution accuracy and depth optimization ability of the algorithm are improved by using a foraging-behavior-improvement strategy. Finally, a dual-population collaborative optimization strategy is constructed to improve the algorithm's global search ability. The experimental results preliminarily show that the proposed algorithm has obvious advantages over other comparison algorithms in terms of solution accuracy and convergence performance. This provides new ideas for the study of high-dimensional optimization problems.
However, although the experimental results of the proposed algorithm on most given benchmark test functions have achieved obvious advantages over the comparison algorithms, there is still a gap between the actual optimal solutions obtained on several functions and their theoretical optimal solutions. Therefore, understanding how to improve the performance of the algorithm to better solve more complex large-scale optimization problems still needs further research. Moreover, in future research work, it is also a good choice to apply this algorithm to other fields, such as the constrained optimization problem, the multi-objective optimization problem, and the vehicle-routing problem.